In graphics processing, data is grouped as pixels, which are processed according to a series of processing instructions referred to as shader instructions. Each shader instruction defines a mathematical operation to be performed on the pixel. By applying a shader instruction to a pixel, the pixel value is changed according to the mathematical operation defined by the shader instruction. Application software defines the specific shader instructions that are to be applied to the pixel data.
Shader units are used to apply shader instructions to pixel data. Shader units utilize arithmetic logic units (ALUs) to carry out the arithmetic and logic operations defined by the shader instructions. Graphics intensive applications, such as high-end video games, require shader units that can execute a large number of shader instructions. However, lower-end graphics applications, such as playing a DVD, include fewer shader instructions and therefore do not require a shader unit with as much processing power. Since additional processing power requires additional ALUs, which correspondingly increases cost and power consumption, there is a design trade-off to be made when configuring a shader unit, especially when the shader unit is for general use.